/*
 * 相关月
 *
 * 题目链接：https://programming.pku.edu.cn/probset/94fe0bee6d4c4e68b4b19c3db5d14a33/eb843ea5f47c42cc8856b0b82781f5a9/
 * 作者：lyazj <seeson@pku.edu.cn>
 *
 * 本题所需主要知识点：
 *   - 分支
 */

#include <stdio.h>
#include <stdbool.h>

int main(void)
{
  // 预处理
  // 计算每月首日是当年的第几天，月和天编号均从 0 开始
  int iday_month[2][12] = {  // 先存储上个月天数，再累加
    /* 平年 */  {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30},
    /* 闰年 */  {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30},
  };
  for(int i = 0; i < 2; ++i) {  // 此处累加得到最终结果
    for(int m = 1; m < 12; ++m) iday_month[i][m] += iday_month[i][m - 1];
  }

  // 正式开始处理输入
  int n;
  scanf("%d", &n);
  while(n--) {
    int y, m1, m2;
    scanf(" %d%d%d", &y, &m1, &m2);  // 输入
    bool leap_year = (y % 4 == 0 && y % 100 != 0) || y % 400 == 0;  // 闰年判断
    bool relevant = (iday_month[leap_year][m1 - 1] - iday_month[leap_year][m2 - 1]) % 7 == 0;
    puts(relevant ? "YES" : "NO");
  }

  return 0;
}
